package com.example;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5Util {
    public static void main(String[] args) {
        //密码加盐 密码添加字符串
        String psd="";
        encode(psd);

    }

    /*
    * 给指定字符串按照md5算法去加密
    * psd 需要加密的密码
    * */
    private static void encode(String psd) {
        try {
            //1、指定加密算法
            MessageDigest digest=MessageDigest.getInstance("MD5");
            //2、将需要加密的字符串中转换成byte类型的数组，然后进行随机哈希过程
            byte[] bs=digest.digest(psd.getBytes());
            //System.out.println(bs.getByte());
            //3、循环遍历bs，然后让其生成32位字符串，固定写法
            //4、拼接字符串过程
            StringBuffer stringBuffer=new StringBuffer();
            for(byte b:bs){
                int i=b & 0xff;
                //int类型的i需要转换成16进制字符
                String hexString=Integer.toHexString(i);
                //System.out.println(hexString)
                if(hexString.length()<2){
                    hexString="0"+hexString;
                }
                stringBuffer.append(hexString);
            }
            System.out.println(stringBuffer.toString());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
}
